package cn.chenhao.basic.service;

import cn.chenhao.basic.query.BasicQuery;
import cn.chenhao.basic.util.PageList;

import java.util.List;

public interface IBasicService<T> {

    /**
     * 添加一条数据
     */
    void add(T t);

    /**
     * 更新一条数据
     */
    void update(T t);

    /**
     * 移除一条数据
     */
    void delete(Long id);

    /**
     * 根据id加载一条数据
     */
    T findById(Long id);

    /**
     * 加载所有数据
     */
    List<T> FindAll();

    /**
     * 分页和高级查询
     */
    PageList<T> queryPage(BasicQuery query);

    /**
     * 批量删除功能
     */
    void patchDelete(List<Long> ids);

}
